package com.zyq.validation.configuration;

import java.util.ArrayList;
import java.util.List;
import com.zyq.validation.pojo.entity.User3;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.validator.spi.group.DefaultGroupSequenceProvider;

//本类用于：根据lastName判断firstName(firstName为0时lastName是一种校验方式，不为0时是另一种校验方式)
//如果account为空,密码也就不能有数据(用第一组校验规则)
//如果account不为空就判断密码字符个数(用第二组校验规则)
@Slf4j
public class User3GroupSequenceProvider implements DefaultGroupSequenceProvider<User3> {
    public List<Class<?>> getValidationGroups(User3 user3) {
        List<Class<?>>  defaultGroupSequence=new ArrayList<>();
        defaultGroupSequence.add(User3.class);
        if(user3!=null){
            String firstName=user3.getFirstName();
            log.info("账号{}.",firstName);
            if(firstName!=null&&1<=firstName.length() && firstName.length()<=2 )//如果姓的长度在1到3之间，其他字段可以采用分组1进行校验
                defaultGroupSequence.add(User3.group1.class);
            else
                defaultGroupSequence.add(User3.group2.class);
            /*String acc=user3.getAccount();
            log.info("账号{}",acc);
            if(acc==null||acc.equals(""))//如果用户名不存在，其他字段可以采用分组1进行校验
                defaultGroupSequence.add(User3.group1.class);
            else
                defaultGroupSequence.add(User3.group2.class);*/
        }
        return defaultGroupSequence;
    }
}
